<?php
//conecta ao banco de dados
require_once("conexao.php");
require_once("pergunta.php");
require_once("alternativa.php");

function listaEtapasProcesso ($idProcesso)
{
	$sql = "select * from etapas where etapas.fk_processo = $idProcesso order by numeracao";	   
	$rs 	= mysql_query($sql); 

	return $rs;
}

function inserirEtapa ($idProcesso, $identPasso, $infEndo, $infExo, $respPasso, $numeracao)
{
	$data =  date("Y-m-d");
	$sql = "insert into etapas (fk_processo, identPasso, data, infEndo, infExo, respPasso, fk_usuario_cad, numeracao) 
	VALUES ($idProcesso, '$identPasso', '$data', '$infEndo', '$infExo', '$respPasso', $_SESSION[sessao_id_usuario], $numeracao)";	   
	//die($sql);
	$rs 	= mysql_query($sql); 
	return $rs;
}

function atualizaEtapa ($idEtapa, $idProcesso, $identPasso, $infEndo, $infExo, $respPasso, $numeracao)
{
	$data =  date("Y-m-d");
	$sql = "update etapas set 
	fk_processo = $idProcesso, identPasso = '$identPasso', data = '$data', infEndo = '$infEndo', infExo = '$infExo', respPasso = '$respPasso', 
	fk_usuario_cad = $_SESSION[sessao_id_usuario],numeracao = $numeracao where etapas.idEtapas = $idEtapa";

	$rs 	= mysql_query($sql); 
	
	return $rs;
}

function obterEtapaDoQuestionario ($idQuestionario)
{
	$sql = "select etapas.* from etapas, questionario where 
	questionario.fk_etapa = etapas.idEtapas and
	questionario.idQuestionario = $idQuestionario";
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$dados = mysql_fetch_array($rs);
		return $dados;
	}
	
	return 0;
}

//Retorna dados da etapa
function obterEtapa ($idEtapa)
{
	$sql = "select * from etapas where etapas.idEtapas = $idEtapa";
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$dados	= mysql_fetch_array($rs);
		return $dados;
	}
	
	return false;
}

//Retorna dados da etapa
function obterNomeEtapa ($idEtapa)
{
	$sql = "select * from etapas where etapas.idEtapas = $idEtapa";
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$dados	= mysql_fetch_array($rs);
		return $dados['identPasso'];
	}
	
	return false;
}


function consultaPasso ($idProc, $nome)
{
	$sql = "select * from etapas where etapas.identPasso = '$nome' and fk_processo = $idProc";
	$rs 	= mysql_query($sql); 
	//die ($sql);
	if ($rs) {
		$dados	= mysql_fetch_array($rs);
		return $dados['idEtapas'];
	}
	
	return false;
}
//Retorna dados da etapa
function obterDadosEtapa ($idEtapa)
{
	$sql = "select * from etapas where etapas.idEtapas = $idEtapa";
	
	$rs 	= mysql_query($sql); 
	
	return $rs;


}

function obterProxNumeracaoEtapa ($idProcesso)
{
	$sql = "select max(numeracao) as num from etapas where etapas.fk_processo = $idProcesso";	   
	$rs  = mysql_query($sql); 

	if ($dados = mysql_fetch_array($rs));
		return $dados['num'] + 1;

	return 1;
}

function guardaDadosEtapa ($linha_etapas, $linha_questionario)
{
	$dadosPeriodo = NULL;
	$quantRespondidas = 0;
	
	$todasPerguntas = listaPerguntas ();
	$quantPerguntas = mysql_num_rows($todasPerguntas);
    $periodo = $linha_questionario['periodo'];
	$idQuestionario = $linha_questionario['idQuestionario'];
	$respotasQuest = obterRespostasQuestionario ($idQuestionario);
	
	if ($respotasQuest)
		$quantRespondidas = mysql_num_rows($respotasQuest);	
		
	$percentualRespondido = number_format( ($quantRespondidas/$quantPerguntas) * 100, 0);
	$finalizado = verificaSefinalizado ($idQuestionario);	
	
	$quantSim = obterQuantRespQuestionario ($idQuestionario, 1);
	$quantNao = obterQuantRespQuestionario ($idQuestionario, 2);
	$quantNaoAplica = obterQuantRespQuestionario ($idQuestionario, 3);
	
	$quantNaoGrp1 = obterQuantRespNaoGrupoPergQuestionario ($idQuestionario, 1);
	$quantNaoGrp2 = obterQuantRespNaoGrupoPergQuestionario ($idQuestionario, 2);
	$quantNaoGrp3 = obterQuantRespNaoGrupoPergQuestionario ($idQuestionario, 3);
	
	if ($quantNao > 0) {							
		$cr1 = number_format(($quantNaoGrp1/$quantNao)*100,2);
		$cr2 = number_format(($quantNaoGrp2/$quantNao)*100,2);
		$cr3 = number_format(($quantNaoGrp3/$quantNao)*100,2);
	}
	else {
		$cr1 = 0;
		$cr2 = 0;
 	    $cr3 = 0;
	}
								
	$IRVD =  number_format (  (1-($quantSim/(15 - $quantNaoAplica))),2);
					
	$dadosPeriodo['finalizado'] = $finalizado;
	$dadosPeriodo['idQuest'] = $idQuestionario;
	$dadosPeriodo['qtRespostas'] = $quantRespondidas;
	$dadosPeriodo['percentualRespondido'] = $percentualRespondido;
	
	$dadosPeriodo['quantSim'] = $quantSim;
	$dadosPeriodo['quantNao'] = $quantNao;
	$dadosPeriodo['quantNaoAplica'] = $quantNaoAplica;
	$dadosPeriodo['quantNaoGrp1'] = $quantNaoGrp1;
	$dadosPeriodo['cr1'] = $cr1;
	$dadosPeriodo['quantNaoGrp2'] = $quantNaoGrp2;
	$dadosPeriodo['cr2'] = $cr2;
	$dadosPeriodo['quantNaoGrp3'] = $quantNaoGrp3;
	$dadosPeriodo['cr3'] = $cr3;
	$dadosPeriodo['IRVD'] = $IRVD;
						
	return $dadosPeriodo;
}

function excluiEtapa ($idEtapa)
{
	$sql = "delete from etapas where etapas.idEtapas = $idEtapa";
	
	//die($sql);
	$rs 	= mysql_query($sql); 
	
	return $rs;
}

function importarPassosProcesso ($idProcesso, $idProcNovo) 
{
	$rs = false;
	
	$lista = listaEtapasProcesso ($idProcesso);
	
	while ($dados = mysql_fetch_array($lista)) {
		$rs = inserirEtapa ($idProcNovo, $dados['identPasso'], $dados['infEndo'], $dados['infExo'], $dados['respPasso'], $dados['numeracao']);
		
		$idEtapa = $dados['idEtapas'];
		//Consulta as alternativas do passo
		$listaAlt = listaAlternativasPasso ($idEtapa);
		
		//Inserir as Alternativas
		while ($dadosAlt = mysql_fetch_array($listaAlt))
			inseriAlternativa ($idEtapa, $dadosAlt['alternativa'], $dadosAlt['tipo']);
	}

	return $rs;
}

//verifica se ja existe o passo no processo
function exiteEtapaProcesso ($id, $nome, $idProcesso)
{
	$sql = "select * from etapas where etapas.fk_processo = $idProcesso and identPasso = '$nome' and idEtapas <> $id";
	$rs 	= mysql_query($sql); 
	
	if ($rs) {
		$quant = mysql_num_rows($rs);
	
		if ($quant > 0) 
			return true;
	}
	
	return false;
}



?>